#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef int LNDataType;

typedef struct listNode
{
	LNDataType data;
	struct listNode* next;
}LN;

struct listNode* LNCreatNode();
void LPrint(LN* phead);


void LPushBack(LN** pphead, LNDataType elem);
void LPopBack(LN** pphead);
void LPushFront(LN** pphead, LNDataType data);
void LPopFront(LN** pphead);

struct listNode* LFindNode(LN* phead, LNDataType data);
void LInsertFront(LN** pphead, LN* pos, LNDataType data);
void LInsertAfter(LN** pphead, LN* pos, LNDataType data);
void LEraseNode(LN** pphead, LNDataType data);
void LDestory(LN** pphead);
